"""
全数字的素数

如果一个n位数恰好使用了1至n每个数字各一次，我们就称其为全数字的。例如，2143就是一个4位全数字数，同时它恰好也是一个素数。
最大的全数字的素数是多少。
"""

def all_num(n):
    s=str(n)
    for i in range(1,len(s)+1):
        if s.count(str(i))!=1:
            return False
    else:
        return True

def is_prime(n):
    if n==2:
        return True
    else:
        for i in range(2,int(n**0.5)+1):
            if n%i==0:
                return False
        else:
            return True

max_all_num=1
for j in range(1,7654322,2):    #8,9位数可以被3整除
    # if len(str(j))==1 or len(str(j))==4 or len(str(j))==7:
    if all_num(j) and is_prime(j):
        if(j>max_all_num):
            max_all_num=j
print(max_all_num)





#这个数字不可能是8、9位数。因为可以被3整除。
# def an_pri(number):#判断素数
#     if number==2:
#         return True
#     elif number>2:
#         for i in range(2,int(number**0.5)+1):
#             if number%i==0:
#                 return False
#         return True
#     elif number==1:
#         return False
# def an_lastdi(number):#根据尾数筛选素数
#     hu,hh=[2,4,6,8,5],list(str(number))
#     if int(hh[-1]) in hu:
#         return False
#     return True
# def an_len(number):#根据数字长度筛选素数
#     uh=len(str(number))
#     if uh==9 or uh==6 or uh==3:
#         return False
#     return True
# def an_once(number):#判断全数字的
#     hu=list(str(number))
#     uh,an_hu=list(range(1,len(hu)+1)),[]
#     for j in hu:
#         an_hu.append(int(j))
#     if sorted(an_hu)==uh:
#         return True
# for i in range(7654321,1,-1):
#     if an_len(i) and an_lastdi(i) and an_once(i):
#         if an_pri(i):
#             print(i)
#             break
# 答案：7652413